Computer virtualization is a technique that involves encapsulating a physical computing machine platform into a virtual machine that is executed under the control of virtualization software running on a single hardware computing platform (also referred to herein as “host system” or “host computer”). A group of hardware computing platforms may be organized as a cluster to provide the hardware resources for virtual machines. In a data center that employs virtual machines, it is common to see hundreds, even thousands, of virtual machines running on multiple clusters of host systems.
Virtualization management software is used by an administrator to manage the configuration of the virtual machines and the allocation of computing resources to the virtual machines. Because of the large number of virtual machines to be managed within a single data center, and sometimes, across multiple data centers, some of the administrator's tasks are automated. For example, software automated techniques such as dynamic resource scheduling and dynamic power management have been developed to assist the administrator in balancing workloads across host systems and powering host systems ON and OFF as needed.
The virtualization management software includes one or more interfaces, including various graphical user interfaces (GUIs) and command line interfaces (CLIs), by which the administrator manages the virtualized computing environment. The GUIs are easier to use but have limited functionality. In essence, they restrict the actions that the administrator may be able to perform to what is exposed by the GUI. CLIs, on the other hand, provide much greater flexibility in that they expose the entire API (Application Programming Interface) to the user. Learning to use the CLI is, however, difficult. Moreover, executing commands with the CLI can be risky and error-prone.
Accordingly, there remains a need in the art for a user interface for managing a virtualized computing environment that addresses the drawbacks and limitations discussed above.